package pe.edu.unmsm.fiee.sispagos.presentacion.controller.reportes;

import java.util.List;

import javax.annotation.PostConstruct;
import javax.annotation.Resource;
import javax.faces.context.FacesContext;
import javax.faces.event.AjaxBehaviorEvent;
import javax.servlet.http.HttpSession;

import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Controller;

import pe.edu.unmsm.fiee.sispagos.negocio.modelo.DigitadorVoucherDTO;
import pe.edu.unmsm.fiee.sispagos.negocio.modelo.UsuarioDTO;
import pe.edu.unmsm.fiee.sispagos.negocio.servicio.VoucherPagoService;

@Controller
@Scope("view")
public class ConsultaVoucherController {
	private Integer anioSeleccionado;
	private Integer mesSeleccionado;
	private UsuarioDTO usuarioLogueado;
	private List<DigitadorVoucherDTO> vouchersxDigitador;
	
	@Resource
	VoucherPagoService voucherPagoService;
	
	@PostConstruct
	private void init(){
		HttpSession session=(HttpSession)FacesContext.getCurrentInstance().getExternalContext().getSession(true);
		setAnioSeleccionado((Integer)session.getAttribute("anioSeleccionado"));
		setMesSeleccionado((Integer)session.getAttribute("mesSeleccionado"));
		setUsuarioLogueado((UsuarioDTO)session.getAttribute("usuarioLogueado"));
	}
	
	public void cargarVouchersxDigitador(AjaxBehaviorEvent aev){
		//cargarChartConsolidadosCptos(getAnioSeleccionado(), getMesSeleccionado());
		setVouchersxDigitador(voucherPagoService.listarVoucherDigitadorAnioMes(getAnioSeleccionado(), getMesSeleccionado(), getUsuarioLogueado().getIdUsuario()));
		System.out.println("anio "+getAnioSeleccionado()+", mes "+getMesSeleccionado()+", usuario" + getUsuarioLogueado().getIdUsuario());
		System.out.println("vouchers cantidad:"+getVouchersxDigitador().size());
	}
	
	public Integer getAnioSeleccionado() {
		return anioSeleccionado;
	}
	public void setAnioSeleccionado(Integer anioSeleccionado) {
		this.anioSeleccionado = anioSeleccionado;
	}
	public Integer getMesSeleccionado() {
		return mesSeleccionado;
	}
	public void setMesSeleccionado(Integer mesSeleccionado) {
		this.mesSeleccionado = mesSeleccionado;
	}

	public UsuarioDTO getUsuarioLogueado() {
		return usuarioLogueado;
	}

	public void setUsuarioLogueado(UsuarioDTO usuarioLogueado) {
		this.usuarioLogueado = usuarioLogueado;
	}

	public List<DigitadorVoucherDTO> getVouchersxDigitador() {
		return vouchersxDigitador;
	}

	public void setVouchersxDigitador(List<DigitadorVoucherDTO> vouchersxDigitador) {
		this.vouchersxDigitador = vouchersxDigitador;
	}
	
	
	
}
